In the current information rich climate, a considerable amount of attention is being paid to develop improved methods of information retrieval. In particular, the field of agent technology is heavily involved in developing agents for searching, summarisation, filtering and presentation of information e.g. Davies, Weeks & Revett, 1997 (Davies, Weeks, Revett (1997) “Information Agents for the WWW” in Software agents and soft computing, Eds H. Nwana, N. Azarmi, Berlin Springer-Verlag). Most, if not all, of these rely on the agent having some knowledge of the user. The inclusion of user information is rapidly becoming a key area, not only for agent technology, but also for the Internet in general, as demonstrated by the recently proposed Open Profiling Standard Dunn, Gwertzman, Layman & Partovi 1997 (Dunn, Gwerzmann, Layman, Partovi (1997) “Privacy and profiling on the web” Technical note, WWW consortium Jun. 2, 1997). User information is undoubtedly playing an ever-increasing role as digital libraries, electronic commerce, and personalised applications become more widespread.
The goal for many workers involved in the design of information retrieval systems is to design a system that can identify information for, and present information to, many users. The amount of processing involved in serving a request for information can be expected to scale with the number of users, as interests generally vary between users. As a result the scalability of a system is likely to become an increasingly important issue with increasing user subscription. Clearly systems that are unable to deliver information to their customers within a reasonable amount of time are likely to lose their customers to systems that can. In general, information retrieval systems comprise a plurality of components: web, database and/or files servers, which pass information between each other in accordance with the architecture of the retrieval system.
One way of reducing network traffic and response times between these components is to employ various caching techniques. Caching is a special high-speed storage mechanism, whereby data that is repeatedly accessed is stored in a buffer—typically in either static or dynamic memory (conventionally referred to as memory and disc caching respectively)—for quick access. There are many types of caches, notably “macro” caches to which highly popular information can be distributed and periodically updated and from which most users would obtain information; Local server caches (for example, corporate LAN servers or access provider servers that cache frequently accessed files), where the decision of what data to cache may be entirely local; a web browser's cache, which contains the most recent Web files that have been downloaded and which is physically located on the hard disk (and possibly some of the following caches at any moment in time); a disk cache (either a reserved area of RAM or a special hard disk cache) where a copy of the most recently accessed data and adjacent (most likely to be accessed) data is stored for fast access; RAM itself, which can be viewed as a cache for data that is initially loaded in from the hard disk (or other I/O storage systems); L2 cache memory, which is on a separate chip from the microprocessor but faster to access than regular RAM and L1 cache memory on the same chip as the microprocessor.
Furthermore, some personalised information retrieval systems perform pre-emptive caching and filtering, where popular web pages are multicast to regional publication centres to be examined by user agent programs and, possibly, forwarded to a user's home system for viewing. This avoids the problem of network overload since the server at the original publication point will multicast the object to a manageable number of regional centres and this process may be repeated to send the object to sub-centres. It also aids the user in finding new and interesting items since the user will be notified if their personal filtering agent accepts an item.
Freytag and Neumann, in “Resource adaptive WWW access for mobile applications”, published in Computers and Graphics 23 1999 pp 841-848, describe a system whereby information, which is to be delivered to a user, can be adapted in dependence on a user's terminal, available bandwidth, and user preferences. The system receives, as input, information that is to be presented to a user, together with user and terminal information and evaluates so-called “adaptation rules” in accordance with the input. The rules have actions associated therewith, which essentially modify the content of the information that is to be presented to a user.
Schmidt et al, in “There is more to context than location”, published in Computers and Graphics 23 1999 pp 893-901, state that context includes any date that can be used to filter information, in order to address the problem of information overload. In particular, they discuss various ways in which context data can be retrieved, using proven sensor technology with a view to extracting data relating to physical conditions within mobile computing environments.
Although Freytag and Neumann and Schmidt et al describe the coupling between context and presentation of information, they do not describe how such Information could actually be used to filter information. Embodiments of the present invention seek to overcome this deficiency.